#include"processBar.h"
#include<string.h>
#include<unistd.h>

//颜色输出
#define GREEN "\033[0;32;32m]"
#define NONE "\033[m" 


const char *lable="|/-\\";
char bar[NUM];


void initbar()
{//重置bar
    memset(bar,'\0',sizeof(bar));
}
//如何被调用的
void processbar(int rate)
{
    if(rate<0||rate>100)
        return;

    int len = strlen(lable);
    printf(GREEN"[%-100s]"NONE"[%d%%][%c]\r",bar,rate,lable[rate%len]);
    fflush(stdout);
    bar[rate++]=BODY;
    if(rate<100)
        bar[rate]=RIGHT;
    if(rate==101)
    {
        initbar();
    }
}


//简单实现进度条
//void processbar(int speed)
//{
//      char bar[NUM]={0};
//      int len=strlen(lable);
//
//      int cnt=0;
//      while(cnt<=100)
//      {
//           printf("[%-100s][%d%%][%c]\r",bar,cnt,label[cnt%len]);
//			 fflush(stdout);
//           bar[cnt++]=BODY;
//           if(cnt<100)
//    		 bar[cnt]=RIGHT;
//    		 usleep(speed);

//      }
//      printf("\n");
//}
